package com.erp.erp_entitys.Drawback.vo;

import com.erp.erp_entitys.Cost.vo.CostAnnexVO;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author zjk
 * @version 1.0
 * @description
 * @date 2021/1/13/013 20:08
 */
public class QueryDrawbackDetailVO implements Serializable {
    /**
     * 报关ID
     */
    private Integer declareId;
    /**
     * 退税ID
     */
    private Integer drawbackId;
    /**
     * 退税编号(与报关发票号码一样)
     */
    private String drawbackCode;
    /**
     * 出运日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date shippingDate;
    /**
     * 报关日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date declarationDate;
    /**
     *  客户名称
     */
    private String customerName;
    /**
     *  业务模式
     */
    private String businessMode;
    /**
     *  报关发票号
     */
    private String invoiceCode;
    /**
     * 币种中文名
     */
    private String currencyName;
    /**
     * 人民币汇率
     */
    private BigDecimal rmbRate;
    /**
     * 美元汇率
     */
    private BigDecimal usdRate;
    /**
     * 报关金额
     */
    private BigDecimal declarationAmount;
    /**
     * 理论退税金(根据报关信息计算出来)
     */
    private BigDecimal theoreticalTaxRefund;
    /**
     * 销售合同号（报关表中外销合同编号）
     */
    private String contractCode;
    /**
     * 出口单位名称（签约公司）
     */
    private String exporterName;
    /**
     *操作员名称（报关表）
     */
    private String operatorName;
    /**
     * 退税操作人名称
     */
    private String drawbackOperatorName;
    /**
     * 退税操作人编号
     */
    private String drawbackOperatorCode;
    /**
     * 实际退税金额
     */
    private String actualTaxRefund;
    /**
     * 退税登记时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date registerDate;
    /**
     * 备注
     */
    private String remarks;

    /**
     * 登记状态(状态：3.登记箱   4.完成箱)
     */
    private Integer drawbackStatus;
    /**
     * 附件集合
     */
    private List<CostAnnexVO> costAnnexVOList;

    public List<CostAnnexVO> getCostAnnexVOList() {
        return costAnnexVOList;
    }

    public void setCostAnnexVOList(List<CostAnnexVO> costAnnexVOList) {
        this.costAnnexVOList = costAnnexVOList;
    }

    public String getDrawbackOperatorName() {
        return drawbackOperatorName;
    }

    public void setDrawbackOperatorName(String drawbackOperatorName) {
        this.drawbackOperatorName = drawbackOperatorName;
    }

    public String getDrawbackOperatorCode() {
        return drawbackOperatorCode;
    }

    public void setDrawbackOperatorCode(String drawbackOperatorCode) {
        this.drawbackOperatorCode = drawbackOperatorCode;
    }

    public String getActualTaxRefund() {
        return actualTaxRefund;
    }

    public void setActualTaxRefund(String actualTaxRefund) {
        this.actualTaxRefund = actualTaxRefund;
    }

    public Date getRegisterDate() {
        return registerDate;
    }

    public void setRegisterDate(Date registerDate) {
        this.registerDate = registerDate;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

    public Integer getDrawbackStatus() {
        return drawbackStatus;
    }

    public void setDrawbackStatus(Integer drawbackStatus) {
        this.drawbackStatus = drawbackStatus;
    }

    public Integer getDeclareId() {
        return declareId;
    }

    public void setDeclareId(Integer declareId) {
        this.declareId = declareId;
    }

    public Integer getDrawbackId() {
        return drawbackId;
    }

    public void setDrawbackId(Integer drawbackId) {
        this.drawbackId = drawbackId;
    }

    public String getDrawbackCode() {
        return drawbackCode;
    }

    public void setDrawbackCode(String drawbackCode) {
        this.drawbackCode = drawbackCode;
    }

    public Date getShippingDate() {
        return shippingDate;
    }

    public void setShippingDate(Date shippingDate) {
        this.shippingDate = shippingDate;
    }

    public Date getDeclarationDate() {
        return declarationDate;
    }

    public void setDeclarationDate(Date declarationDate) {
        this.declarationDate = declarationDate;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getBusinessMode() {
        return businessMode;
    }

    public void setBusinessMode(String businessMode) {
        this.businessMode = businessMode;
    }

    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    public String getCurrencyName() {
        return currencyName;
    }

    public void setCurrencyName(String currencyName) {
        this.currencyName = currencyName;
    }

    public BigDecimal getRmbRate() {
        return rmbRate;
    }

    public void setRmbRate(BigDecimal rmbRate) {
        this.rmbRate = rmbRate;
    }

    public BigDecimal getUsdRate() {
        return usdRate;
    }

    public void setUsdRate(BigDecimal usdRate) {
        this.usdRate = usdRate;
    }

    public BigDecimal getDeclarationAmount() {
        return declarationAmount;
    }

    public void setDeclarationAmount(BigDecimal declarationAmount) {
        this.declarationAmount = declarationAmount;
    }

    public BigDecimal getTheoreticalTaxRefund() {
        return theoreticalTaxRefund;
    }

    public void setTheoreticalTaxRefund(BigDecimal theoreticalTaxRefund) {
        this.theoreticalTaxRefund = theoreticalTaxRefund;
    }

    public String getContractCode() {
        return contractCode;
    }

    public void setContractCode(String contractCode) {
        this.contractCode = contractCode;
    }

    public String getExporterName() {
        return exporterName;
    }

    public void setExporterName(String exporterName) {
        this.exporterName = exporterName;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }
}
